home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 May: Tool Chest / Developer CD Series Tool Chest (Apple Computer)(May 1999).iso / Tool Chest / Games / Game Sample Code / ZAM 1.0a13 / GameHeaders / FixGraf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-16  |  571 b   |  26 lines  |  [TEXT/KAHL]

  1. #pragma once
  2. typedef struct {
  3.     Fixed    h;
  4.     Fixed    v;
  5. } fixPt;
  6.  
  7. typedef struct {
  8.     Fixed    top;
  9.     Fixed    left;
  10.     Fixed    bottom;
  11.     Fixed    right;
  12. } fixRect;
  13.  
  14.  
  15.     // fixed point math stuff (thanks Myles & GX)
  16. #define    ff(x)    (((long)(x)<<16))
  17. #define    FixToInt(x)    ((int)((x)>>16))
  18. #define    FixToDbl(x)    ldexp((double)(x),-16)
  19. #define    DblToFix(x)    ((long)ldexp((x),16))
  20. #define    RndFixToInt(x) ((int)((x)+FIX_HALF>>16))
  21. #define    FixRound(x)    FixToi(x)
  22. #define    Frac2Fix(x)    ((x)>>14)
  23. #define    Fix2Frac(x)    ((x)<<14)
  24. #define    FracToDbl(x) ldexp((double)(x),-30)
  25. #define    DblToFrac(x) ((long)ldexp((x),30))
  26.